#include <stdio.h>

int main(int argc, char const *argv[])
{
    int I_num = 99;   // 输入数据
    int out_num = 0; // 输出数据

    int arr_num[4] = {0}; // 用于存储 最后的水仙花数 
    int arr[3] = {0};   // 用于存储拆分后的数
    
    int i_arr = 0; // 用于记录水仙花个数
    while (I_num != 999)
    {
        ++I_num;
        // 存储用户数据
        out_num = I_num;

        // 拆分 数据
        for (int i = 0; i < 3; i++)
        {
            arr[i] = out_num % 10;
            out_num /= 10;
        }

        // 计算 每个数据的 立方
        int num_1 = arr[0] * arr[0] * arr[0];
        int num_2 = arr[1] * arr[1] * arr[1];
        int num_3 = arr[2] * arr[2] * arr[2];

        // 判断一下是不是水仙花数
        if (I_num == num_1 + num_2 + num_3)
        {
            printf("%d 是水仙花数\n" , I_num);
            arr_num[i_arr] = I_num;
            i_arr++;
        }
    }

    for (size_t i = 0; i < i_arr; i++)
    {
        printf("%d 是水仙花数\n" , arr_num[i]);
    }
    
    

    return 0;
}
